660 research outputs found

    Program development using abstract interpretation (and the ciao system preprocessor)

    Get PDF
    The technique of Abstract Interpretation has allowed the development of very sophisticated global program analyses which are at the same time provably correct and practical. We present in a tutorial fashion a novel program development framework which uses abstract interpretation as a fundamental tool. The framework uses modular, incremental abstract interpretation to obtain information about the program. This information is used to validate programs, to detect bugs with respect to partial specifications written using assertions (in the program itself and/or in system librarles), to genérate and simplify run-time tests, and to perform high-level program transformations such as múltiple abstract specialization, parallelization, and resource usage control, all in a provably correct way. In the case of validation and debugging, the assertions can refer to a variety of program points such as procedure entry, procedure exit, points within procedures, or global computations. The system can reason with much richer information than, for example, traditional types. This includes data structure shape (including pointer sharing), bounds on data structure sizes, and other operational variable instantiation properties, as well as procedure-level properties such as determinacy, termination, non-failure, and bounds on resource consumption (time or space cost). CiaoPP, the preprocessor of the Ciao multi-paradigm programming system, which implements the described functionality, will be used to illustrate the fundamental ideas

    Consideration of tip speed limitations in preliminary analysis of minimum COE wind turbines

    Get PDF
    A relation between Cost Of Energy, COE, maximum allowed tip speed, and rated wind speed, is obtained for wind turbines with a given goal rated power. The wind regime is characterised by the corresponding parameters of the probability density function of wind speed. The non-dimensional characteristics of the rotor: number of blades, the blade radial distributions of local solidity, twist angle, and airfoil type, play the role of parameters in the mentioned relation. The COE is estimated using a cost model commonly used by the designers. This cost model requires basic design data such as the rotor radius and the ratio between the hub height and the rotor radius. Certain design options, DO, related to the technology of the power plant, tower and blades are also required as inputs. The function obtained for the COE can be explored to �nd those values of rotor radius that give rise to minimum cost of energy for a given wind regime as the tip speed limitation changes. The analysis reveals that iso-COE lines evolve parallel to iso-radius lines for large values of limit tip speed but that this is not the case for small values of the tip speed limits. It is concluded that, as the tip speed limit decreases, the optimum decision for keeping minimum COE values can be: a) reducing the rotor radius for places with high weibull scale parameter or b) increasing the rotor radius for places with low weibull scale paramete

    The CIAO Multi-Dialect Compiler and System: An Experimentation Workbench for Future (C)LP Systems

    Full text link
    CIAO is an advanced programming environment supporting Logic and Constraint programming. It offers a simple concurrent kernel on top of which declarative and non-declarative extensions are added via librarles. Librarles are available for supporting the ISOProlog standard, several constraint domains, functional and higher order programming, concurrent and distributed programming, internet programming, and others. The source language allows declaring properties of predicates via assertions, including types and modes. Such properties are checked at compile-time or at run-time. The compiler and system architecture are designed to natively support modular global analysis, with the two objectives of proving properties in assertions and performing program optimizations, including transparently exploiting parallelism in programs. The purpose of this paper is to report on recent progress made in the context of the CIAO system, with special emphasis on the capabilities of the compiler, the techniques used for supporting such capabilities, and the results in the áreas of program analysis and transformation already obtained with the system

    Experience with the use of Rituximab for the treatment of rheumatoid arthritis in a tertiary Hospital in Spain: RITAR study

    Full text link
    There is evidence supporting that there are no relevant clinical differences between dosing rituximab 1000 mg or 2000 mg per cycle in rheumatoid arthritis (RA) patients in clinical trials, and low-dose cycles seem to have a better safety profile. Our objective was to describe the pattern of use of rituximab in real-life practice conditions. Methods: Rituximab for RA in clinical practice (RITAR) study is a retrospective cohort study from 2005 to 2015. Eligibility criteria were RA adults treated with rituximab for active articular disease. Response duration was the main outcome defined as months elapsed from the date of rituximab first infusion to the date of flare. A multivariable analysis was performed to determine the variables associated with response duration. Results: A total of 114 patients and 409 cycles were described, 93.0% seropositive and 80.7% women. Rituximab was mainly used as second-line biological therapy. On demand retreatment was used in 94.6% of cases versus fixed 6 months retreatment in 5.4%. Median response duration to on demand rituximab cycles was 10 months (interquartile range, 7–13). Multivariable analysis showed that age older than 65 years, number of rituximab cycles, seropositivity, and first- or second-line therapy were associated with longer response duration. The dose administered at each cycle was not significantly associated with response duration. Conclusions: Our experience suggests that 1000 mg rituximab single infusion on demand is a reasonable schedule for long-term treatment of those patients with good response after the first cycles, especially in seropositive patients and when it is applied as a first- or second-line biological therap

    A Model-Based Approach for the Management of Electronic Invoices

    Get PDF
    The globalized market pushes companies to expand their business boundaries to a whole new level. In order to efficiently support this environment, business transactions must be executed over the Internet. However, there are several factors complicating this process, such as the current state of electronic invoices. Electronic invoice adoption is not widespread because of the current format fragmentation originated by national regulations. In this paper we present an approach based on Model-Driven Engineering techniques and abstractions for supporting the core functions of invoice management systems. We compare our solution with the traditional implementations and try to analyze the advantages MDE can bring to this specific domain

    Estudio sobre las alianzas corporativas vinculadas al transporte aéreo

    Full text link
    [ES] Desde que en 1930 se produjo la primera alianza aérea, entre la Pan American Grace Airways y la Pan American World Airways, el mundo del transporte aéreo ha ido evolucionando y desarrollando una compleja red de colaboración. Una alianza aérea es una asociación de dos o más aerolíneas que se unen con el objetivo de ampliar los servicios que facilitan. En el caso de los beneficios que reportan a los viajeros se encuentran: las conexiones de código compartido, reducción en los precios en los billetes de ciertas rutas, mayor disponibilidad de horarios y la capacidad de poder combinar varios destinos de una manera fácil, etc. En el caso de las aerolíneas, formar parte de una alianza se traduce en: reducción de costes de personal, posibilidad de compartir instalaciones, programas de fidelización, entre otros. En este trabajo final de grado, se estudiará en profundidad las alianzas aéreas existentes en el mundo para conocer las ventajas que dichas alianzas proporcionan tanto a los viajeros como para las empresas. Para ello, además de la revisión de la literatura existente en torno a este concepto, se realizarán entrevistas a expertos y trabajadores vinculados con el transporte aéreo así como encuestas al público usuario de transporte aéreo para conocer el nivel de familiarización con este tipo de alianzas.[EN] Since the first air alliance between the Pan American Grace Airways and the Pan American World Airways took place in 1930, the world of air transport has evolved and developed a complex network of collaboration. An air alliance is an association of two or more airlines join together with the aim of expanding the services they provide. The benefits they report to travelers are the reduction in ticket's prices for specific routes or the greater availability of schedules, among others. In this final degree project, the existing air alliances in the world will be studied in depth to know the advantages that these alliances provide to both travelers and companies. For this, in addition to reviewing the existing literature on this concept, interviews will be conducted with experts and workers related to air transport, as well as surveys of the public user of air transport to determine the level of familiarization with this type of alliance.López García De La Galana, A. (2020). Estudio sobre las alianzas corporativas vinculadas al transporte aéreo. Universitat Politècnica de València. http://hdl.handle.net/10251/152032TFG

    An automated Model-based Testing Approach in Software Product Lines Using a Variability Language.

    Get PDF
    This paper presents the application of an automated testing approach for Software Product Lines (SPL) driven by its state-machine and variability models. Context: Model-based testing provides a technique for automatic generation of test cases using models. Introduction of a variability model in this technique can achieve testing automation in SPL. Method: We use UML and CVL (Common Variability Language) models as input, and JUnit test cases are derived from these models. This approach has been implemented using the UML2 Eclipse Modeling platform and the CVL-Tool. Validation: A model checking tool prototype has been developed and a case study has been performed. Conclusions: Preliminary experiments have proved that our approach can find structural errors in the SPL under test. In our future work we will introduce Object Constraint Language (OCL) constraints attached to the input UML mode

    Program debugging and validation using semantic approximations and partial specifications

    Full text link
    The technique of Abstract Interpretation [11] has allowed the development of sophisticated program analyses which are provably correct and practical. The semantic approximations produced by such analyses have been traditionally applied to optimization during program compilation. However, recently, novel and promising applications of semantic approximations have been proposed in the more general context of program validation and debugging [3,9,7]

    The ciao preprocessor

    Get PDF
    Abstract is not available

    A tutorial on program development and optimization using the Ciao preprocessor

    Get PDF
    We present in a tutorial fashion CiaoPP, the preprocessor of the Ciao multi-paradigm programming system, which implements a novel program development framework which uses abstract interpretation as a fundamental tool. The framework uses modular, incremental abstract interpretation to obtain information about the program. This information is used to validate programs, to detect bugs with respect to partial specifications written using assertions (in the program itself and/or in system libraries), to generate and simplify run-time tests, and to perform high-level program transformations such as multiple abstract specialization, parallelization, and resource usage control, all in a provably correct way. In the case of validation and debugging, the assertions can refer to a variety of program points such as procedure entry, procedure exit, points within procedures, or global computations. The system can reason with much richer information than, for example, traditional types. This includes data structure shape (including pointer sharing), bounds on data structure sizes, and other operational variable instantiation properties, as well as procedure-level properties such as determinacy, termination, non-failure, and bounds on resource consumption (time or space cost)
    corecore